﻿using System.Text.RegularExpressions;

namespace WorldmeServer.Utils
{
    public static class ValidationUtils
    {
        public static bool IsValidEmail(string email, out string errorMsg)
        {
            if (string.IsNullOrWhiteSpace(email))
            {
                errorMsg = "邮箱不能为空";
                return false;
            }
            errorMsg = "邮箱格式不正确";
            string pattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$";
            return Regex.IsMatch(email, pattern);
        }

        public static bool IsValidPassword(string password, out string errorMsg)
        {
            // 校验长度
            if (password.Length < 8 || password.Length > 20)
            {
                errorMsg = "密码长度必须在8到20个字符之间";
                return false;
            }

            // 校验复杂度
            var hasNumber = new Regex(@"[0-9]"); // 包含数字
            var hasLowerChar = new Regex(@"[a-z]"); // 包含小写字母

            if (!hasNumber.IsMatch(password))
            {
                errorMsg = "密码必须包含至少一个数字";
                return false;
            }

            if (!hasLowerChar.IsMatch(password))
            {
                errorMsg = "密码必须包含至少一个小写字母";
                return false;
            }
            errorMsg = "";

            return true;
        }
    }
}
